﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using static System.Threading.Thread;
using static System.Console;

namespace Project_1
{
    /// <summary>
    /// 1.4 线程等待
    /// </summary>
    public class Unit_1_04
    {
        /*
         * 1.4 Thread t ， t.Join() 方法
         * 主线程会等待线程t 执行完成后才会继续执行，
         * 可以使用t线程执行完成后的变量
         */
        public static void Go()
        {
            WriteLine("start");
            Thread t=new Thread(PrintNumbersWithDelay);
            t.Start();
            t.Join();//等待线程t执行完成后，才会执行下面的代码，线程等待
            WriteLine("j的值：" + j);
        }

        private static int j = 0;

        static void PrintNumbersWithDelay()
        {
            WriteLine("子线程开始");
            for (int i = 1; i < 5; i++)
            {
                j++;
                Sleep(TimeSpan.FromSeconds(0.5));
                WriteLine(i);
            }
        }
    }
}
